/*
 * error.c
 *
 *  Created on: 2012-8-25
 *      Author: dietoad
 */


#include "../../include/mcf.h"
#include "stdarg.h"
#include "assert.h"
#include "string.h"
#include "stdio.h"
#include "errno.h"
void mcf_error(i8 *msg,...)
{
i8 msg_buffer[1024]={0};
i8 err_no[64]={0};
va_list l;
va_start(l,msg);
vsprintf(msg_buffer,msg, l);
va_end(l);
#ifdef _WIN32
     sprintf(err_no,"errno= %ld",GetLastError());
     strcat(msg_buffer,err_no);
     MessageBoxA(NULL,msg_buffer,NULL,0);
#elif linux
     sprintf(err_no,"\nerrno=%d %s\n",errno,strerror(errno));
     strcat(msg_buffer,err_no);
     fwrite(msg_buffer,sizeof(i8),strlen(msg_buffer),stderr);
#endif
}
